package cn.yulr.log;

/**
 * 日志系统初始化文件
 * <p>
 * 此部分主要作用，用来初始化日志部分内容
 */
public class LogConfigInfo {

    /**
     * 与当前应用相关的 TAG
     * 此部分可以用APP的包名信息
     */
    private String appTag = "NULL_TAG";

    /**
     * 所有文件总大小最大大小
     */
    private int maxFilesSize = 500;

    /**
     * 每次执行删除操作时，删除的文件大小
     */
    private int deleteFilesSize = 200;

    /**
     * 单个日志文件的最大大小
     */
    private int preFileMaxSize = 50;

    /**
     * 文件名格式
     * 此部分需要重新定义，暂时只支持时间部分可变，其他部分固定
     */
    private String fileNameFormat = "";

    /**
     * 日志部分绑定的UDP端口信息
     * 用来配置相关信息的UDP端口
     * <p>
     * 如果为 -1 则不初始化相关部分
     */
    private int udpPort = -1;

    /**
     * 用来配置的HTTP端口信息
     * 如果为 -1 则不初始化相关部分
     */
    private int httpPort = -1;

    /**
     * 如果需要用到网络部分，此部分需要设置
     */
    private String localIpAddr = "";

    public LogConfigInfo() {
    }

    public LogConfigInfo(String appTag, int maxFilesSize, int deleteFilesSize, int preFileMaxSize,
                         String fileNameFormat, int udpPort, int httpPort, String localIpAddr) {
        this.appTag = appTag;
        this.maxFilesSize = maxFilesSize;
        this.deleteFilesSize = deleteFilesSize;
        this.preFileMaxSize = preFileMaxSize;
        this.fileNameFormat = fileNameFormat;
        this.udpPort = udpPort;
        this.httpPort = httpPort;
        this.localIpAddr = localIpAddr;
    }

    public String getAppTag() {
        return appTag;
    }

    public void setAppTag(String appTag) {
        this.appTag = appTag;
    }

    public int getMaxFilesSize() {
        return maxFilesSize;
    }

    public void setMaxFilesSize(int maxFilesSize) {
        this.maxFilesSize = maxFilesSize;
    }

    public int getDeleteFilesSize() {
        return deleteFilesSize;
    }

    public void setDeleteFilesSize(int deleteFilesSize) {
        this.deleteFilesSize = deleteFilesSize;
    }

    public int getPreFileMaxSize() {
        return preFileMaxSize;
    }

    public void setPreFileMaxSize(int preFileMaxSize) {
        this.preFileMaxSize = preFileMaxSize;
    }

    public String getFileNameFormat() {
        return fileNameFormat;
    }

    public void setFileNameFormat(String fileNameFormat) {
        this.fileNameFormat = fileNameFormat;
    }

    public int getUDPPort() {
        return udpPort;
    }

    public void setUDPPort(int udpPort) {
        this.udpPort = udpPort;
    }

    public int getHttpPort() {
        return httpPort;
    }

    public void setHttpPort(int httpPort) {
        this.httpPort = httpPort;
    }

    public String getLocalIpAddr() {
        return localIpAddr;
    }

    public void setLocalIpAddr(String localIpAddr) {
        this.localIpAddr = localIpAddr;
    }
}
